function result = DO_SweepModulationStrength(obj, modulationVoltList)
%DO_SWEEPMODULATIONSTRENGTH Summary of this function goes here
%   Detailed explanation goes here
    % init
    monitor_fig = figure('Name', 'Sweep Modulation Strength'); monitor_ax = axes(monitor_fig);
    result = struct('modulationVolt', {}, 'working_point',{}, 'calibration_data',{});

    % loop
    for expno=1:length(modulationVoltList)
        obj.controller.setModulationStrength(modulationVoltList(expno));
        wp = obj.GET_WorkingPoint();
        [amp, err] = obj.getStdCalibrationSignal(modulationVoltList(expno));

        result(expno).modulationVolt = modulationVoltList(expno);
        result(expno).working_point = wp;
        result(expno).amplitude = amp;
        result(expno).uncertanty = err;              

        obj.session.addTemporaryData(result); % record temporary data during a long run
        plot(monitor_ax, [result.modulationVolt], [result.amplitude], 'rd-');
    end

    % finalize
    close(monitor_fig);
end

